//package com.cn.data.commont.config;
//
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.mybatis.spring.SqlSessionFactoryBean;
//import org.mybatis.spring.SqlSessionTemplate;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.jdbc.DataSourceBuilder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Primary;
//import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
//
//import javax.sql.DataSource;
//
//public class DataSourseConfig {
//    /**
//     * 配置用户的数据源
//     *
//     * @return 用户的数据源对象
//     */
//    @Primary // 需要一个默认配置的数据源
//    @Bean("xindongone")
//    @ConfigurationProperties(prefix = "spring.datasource.xindongone") // 在yml中配置数据源的前缀
//    public DataSource user() {
//        return DataSourceBuilder.create().build();
//    }
//
//    /**
//     * 配置订单的数据源
//     *
//     * @return 订单的数据源对象
//     */
//    @Bean("xindong")
//    @ConfigurationProperties(prefix = "spring.datasource.xindong") // 在yml中配置数据源的前缀
//    public DataSource order() {
//        return DataSourceBuilder.create().build();
//    }
//
//
//    /**
//     * 注册用户的 SqlSession 工厂
//     *
//     * @param user 数据源
//     * @return SqlSession 工厂
//     * @throws Exception 可能会抛出异常
//     */
//    @Primary // 配置一个这个类型默认的 bean
//    @Bean("xindongSqlSessionFactory")
//    public SqlSessionFactory userSqlSessionFactory(@Qualifier("xindong") DataSource appUser) throws Exception {
//        // 创建bean
//        SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
//        // 设置数据源
//        factory.setDataSource(appUser);
//        // 设置 mapper 文件的扫描
//        factory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/user/*.xml"));
//        return factory.getObject();
//    }
//
//    /**
//     * 注册订单的 SqlSession 工厂
//     *
//     * @param order 数据源
//     * @return SqlSession 工厂
//     * @throws Exception 可能会抛出异常
//     */
//    @Bean("xindongoneSqlSessionFactory")
//    public SqlSessionFactory orderSqlSessionFactory(@Qualifier("xindongone") DataSource appUserXinDong) throws Exception {
//        // 创建bean
//        SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
//        // 设置数据源
//        factory.setDataSource(appUserXinDong);
//        // 设置 mapper 文件的扫描
//        factory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/order/*.xml"));
//        return factory.getObject();
//    }
//
//
//    /**
//     * 用户的 SqlSessionTemplate
//     *
//     * @param userSqlSessionFactory 用户的 SqlSession 工厂
//     * @return 用户的 SqlSessionTemplate
//     */
//    @Primary // 设置这个类型默认的 bean
//    @Bean("xindongSqlSessionTemplate")
//    public org.mybatis.spring.SqlSessionTemplate userSqlSessionTemplate(@Qualifier("xindongSqlSessionFactory") SqlSessionFactory userSqlSessionFactory) {
//        return new SqlSessionTemplate(userSqlSessionFactory);
//    }
//
//    /**
//     * 订单的 SqlSessionTemplate
//     *
//     * @param orderSqlSessionFactory 订单的 SqlSession 工厂
//     * @return 用户的 SqlSessionTemplate
//     */
//    @Bean("xindongoneSqlSessionTemplate")
//    public SqlSessionTemplate orderSqlSessionTemplate(@Qualifier("xindongoneSqlSessionFactory") SqlSessionFactory orderSqlSessionFactory) {
//        return new SqlSessionTemplate(orderSqlSessionFactory);
//    }
//}
